﻿using System;
using System.Collections.Generic;
using Acaweb.Data.Contracts;
using Acaweb.Model.Entities;
using Acaweb.Model.Entities.DatosCompuestos;
using Spring.Stereotype;
using Spring.Transaction.Interceptor;

namespace Acaweb.Data.Dao.NHibernate
{
    [Repository]
    public class EgresadosDao : HibernateDao<Egresados, int>, IEgresadosDao
    {
        [Transaction(ReadOnly = true)]
        public IList<Egresados> GetAll()
        {
            return GetAll<Egresados>();
        }

        public IList<Egresados> GetByMunicipio(int Municipio)
        {
            return this.Session.QueryOver<Egresados>().Where(t => t.DatosCorreo.Municipio.CodigoMunicipio == Municipio).List();
        }

        public IList<Egresados> GetByPlanesEstudios(int PlanEstudio)
        {
            return this.Session.QueryOver<Egresados>().Where(t => t.CodigoPlan == PlanEstudio).List();
        }

        public Egresados GetByCodigoEstudiante(int CodigoEstudiante)
        {
            return this.Session.QueryOver<Egresados>().Where(t => t.CodigoEstudiante == CodigoEstudiante).List()[0];
        }
    }
}
